package main

import (
	"fmt"
	"github.com/jinzhu/gorm"
	"net/http"
	"tylnmall/middleware"
	"github.com/gin-gonic/gin"
	"tylnmall/apis"
)

func main() {
	db, err := gorm.Open("mysql", "root:@tcp(127.0.0.1:3306)/test2?charset=utf8&parseTime=True&loc=Local")
	if err != nil {
		fmt.Println(err)
	}
	defer db.Close()
	router := gin.Default()
	r := router.Use(middleware.DbPrepareHandler, middleware.CorsHandler)
	{
		r.GET("/login", apis.LoginForAdminApi)
		r.GET("/registered", apis.RegisteredApi)

		r.GET("/", apis.IndexHandler)

		r.GET("/getvcode", apis.ImgApi)     //获取验证码
		r.GET("/usevcode", apis.UseImgApi)  //验证码验证
		r.GET("/person", apis.AddPersonApi) //测试接口,无实际意义
		r.POST("/upload", apis.UpLoadApi)   //上传文件

		r.GET("/imagelun/list", apis.RotationListApi)  //获取轮播图
		r.GET("/imagelun/add", apis.RotationAddApi)    //新增轮播图
		r.GET("/imagelun/delete", apis.RotationDelApi) //删除轮播图

		r.GET("/shop/list", apis.StoryListApi)                           //获取商铺列表
		r.GET("/shop/listbyid", apis.StoryFindByIdApi)                   //根据id获取商铺
		r.GET("/shop/listbyname", apis.StoryFindByNameApi)               //根据名称获取商铺
		r.GET("/shop/add", apis.StoryAddApi)                             //新增商铺
		r.GET("/shop/update", apis.StoryUpdateApi)                       //修改商铺信息
		r.GET("/shop/qualification/list", apis.QualificationListApi)     //根据商铺id查资质
		r.GET("/shop/qualification/delete", apis.QualificationDeleteApi) //资质文件删除
		r.GET("/shop/qualification/add", apis.QualificationAddApi)       //资质文件新增

		r.GET("/commodity/species/fatherlist", apis.SpeciesFatherListApi) //获取商品父类分类
		r.GET("/commodity/species/childlist", apis.SpeciesChildListApi)   //获取商品子类分类
		r.GET("/commodity/species/listbyid", apis.SpeciesByIdApi)         //根据id获取分类详情
		r.GET("/commodity/alllist", apis.CommodityAllListApi)             //所有商品
		r.GET("/commodity/listbyid", apis.CommodityListByIdApi)           //根据ID获取商品 0:根据商品id 1:根据商铺id 2:根据类别id
		r.GET("/commodity/listbyname", apis.CommodityListByNameApi)       //根据名称获取商品
		r.GET("/commodity/add", apis.CommodityAddApi)                     //新增商品
		r.GET("/commodity/delete", apis.CommodityDeleteApi)               //删除商品
		r.GET("/commodity/delete/list", apis.CommodityDeleteListApi)      //批量删除商品
		r.GET("/commodity/update", apis.CommodityUpdateApi)               //更新商品
		r.GET("/commodity/hotselllist", apis.HotSellListApi)              //获取热卖商品

		r.GET("/user/list", apis.UserListApi)           //获取用户列表
		r.GET("/user/listbyid", apis.UserListByIdApi)   //根据用户ID获取用户信息
		r.GET("/user/updateimg", apis.UserUpdateImgApi) //更新用户头像信息
		r.GET("/user/update", apis.UserUpdateApi)       //更新用户信息
		r.GET("/user/add", apis.UserAddApi)             //新增用户
		r.GET("/user/delete", apis.UserDelApi)          //删除用户
		r.GET("/user/delete/list", apis.UserDelListApi) //批量删除用户
		r.GET("/user/forstory", apis.UserForStoryApi)   //获取商铺相关用户0:可以拥有商铺的用户,1:还没有商铺的用户

		r.GET("/module/list", apis.ModuleListApi)                   //首页模板列表
		r.GET("/module/byid", apis.ModuleByIdApi)                   //根据id获取首页模板
		r.GET("/module/home/listbyid", apis.ModuleComListByHomeApi) //根据模板id获取内容
		r.GET("/module/alllist", apis.ModuleListAndComApi)          //获取首页模板列表及内容

		r.GET("/car/list", apis.CarListApi)  //根据用户id获取购物车列表
		r.GET("/car/add", apis.CarAddApi)    //新增商品到购物车
		r.GET("/car/update", apis.CarUpdate) //修改购物车商品数量

		r.GET("purchase/list", apis.PurchaseListApi) //根据用户id获取用户购物列表
		r.GET("purchase/add/buy", apis.BuyApi)       //直接购买商品

		r.GET("/message/mes", apis.MesApi)                //文章详情
		r.GET("/message/list", apis.MesNameListByTypeApi) //文章名称列表
		r.GET("/message/type/list", apis.MesTypeListApi)  //文章类别列表

		r.GET("/theme/list", apis.ThemeListApi)              //获取主题列表
		r.GET("/theme", apis.ThemeByIdApi)                   //根据id获取主题
		r.GET("/post/listbyid", apis.PostListByIdApi)        //根据id获取帖子
		r.GET("/post/listbyname", apis.FindPostByNameApi)    //根据模糊差选获取帖子
		r.GET("/post/add", apis.PostAddApi)                  //发帖
		r.GET("/post/update/visit", apis.UpdatePostVisitApi) //更新帖子访问数量
		r.GET("/back/add", apis.AddBackApi)                  //新增回复
		r.GET("/back/list", apis.BackList)                   //根据post查询回复

		r.GET("/zan/add", apis.ZanAddApi)                         //添加一个赞 帖子
		r.GET("/zan/del", apis.ZanDelApi)                         //删除一个赞
		r.GET("/collect/add", apis.CollectionAddApi)              //添加一个收藏
		r.GET("/collect/del", apis.CollectionDelApi)              //删除一个收藏
		r.GET("/post/find", apis.IsCollectApi)                    //帖子是否点赞是否收藏
		r.GET("/collect/userlist", apis.CollectAllListApi)        //查看用户收藏帖子
		r.GET("/post/findbyreviewed", apis.PostFindByReviewedApi) //查找所有没有审核的帖子
		r.GET("/post/review", apis.PostChangeReviewedApi)         //修改帖子审核转台:1.通过,2.不通过

	}
	router.StaticFS("/file", http.Dir("/home/gopath/src/tylnmall/file"))
	router.Run(":8887")
}
